/* 
 * File:   commons.h
 * Author: thiago
 *
 * Created on 30 de Março de 2010, 10:13
 */

#ifndef _COMMONS_H
#define	_COMMONS_H

int threadsPerBlock;
int blocksPerGrid;
int totalParticulas;
int resolucaoPartX;
int resolucaoPartY;
int resolucaoGridX;
int resolucaoGridY;
int totalCelulasGrid;
float XminGrid;
float XmaxGrid;
float YminGrid;
float YmaxGrid;
float deltaXPart;
float deltaYPart;
float deltaXGrid;
float deltaYGrid;
float posicaoX;//Usada apenas para gerar as posições iniciais das particulas.
float posicaoY;//Usada apenas para gerar as posições iniciais das particulas.
float massa;
float massaEspecificaInicial;
//const float constGas = 0.8;
//const float coeficienteViscosidade = 0.00005;
//const float passoIntegracao = 0.8;
unsigned int* keys;
unsigned int* keysDevice;
unsigned int* values;
unsigned int* valuesDevice;
unsigned int* count;
unsigned int* offSet;
unsigned int* countDevice;
unsigned int* offSetDevice;
bool mostraGrid;
bool mostraEixo;
bool mostraVetores;
bool mostraPressao;
bool mostraViscosidade;
bool mostraAceleracao;
//VBO
GLuint positionsVBO;
float3* VBO;
GLuint positionsVBO2;
float3* VBO2;
bool VBO_Ativo;
const bool gpu = false;

void buildVBO();
void deleteVBO();
void teclado(unsigned char key, int x, int y);

#endif	/* _COMMONS_H */

